if( $pathname =~ m|.*/(.*)$|i ) {
$filename = $1;
}
if( $pathname =~ m/.*\\(.+)$/i ) {
$filename = $1;
}
m/パターン/i
」の、最後の i は、大文字・小文字を区別しないという指示です。
まあ、この場合、あってもなくても一緒なんですけど。
にししの Perl/CGI Tips ふぁくとりー TOPへ戻る
このページに記載の内容は、必ずしも正しいとは限りません。ご注意下さい。
製作者にししへのご連絡は、メールなどでお送り下さい。
どのページへもリンクは歓迎します。
Copyright © 2004-2006 Fumihiro Nishimura.(Nishishi) All rights reserved.
正規表現中のカッコ「(」〜「)」は、その部分に一致した文字列が、変数 $1 の中に格納されます。 つまり、この中にファイル名だけが一致するようにすれば良いわけです。
なお、「
m|(.*)$|i
」ではダメです。これだと、ディレクトリの区切り文字が複数回登場する場合、「最初の区切り文字から最後まで」が一致してしまい、余計なディレクトリ名もくっついてしまいます。