#!/usr/bin/perl #replace_selected use strict; use Encode qw(from_to); use Encode::Guess qw/ euc-jp shiftjis 7bit-jis utf-8 /; use LWP::Simple; my $inText = $ARGV[1]; &from_to( $inText, 'utf-8', 'euc-jp' ); #'shiftjis' 'utf-8' my ( $beforeText, $url, $afterText ) = $inText =~ m{^(.*?)(http://[-_.!~*'()a-zA-Z0-9;/?:=+,&#\$\@%]+)(.*?)$}; #' my $outText = $inText; if( $url ) { my $title = &getTitleFromURL( $url ); my $aTag = qq!$title!; $outText = join("", $beforeText, $aTag, $afterText ); } else { my $url = `pbpaste`; if( $url =~ m|://| ) { $outText = qq!$inText!; } } &from_to( $outText, 'euc-jp', 'shiftjis' ); print $outText; sub getTitleFromURL($) { my $inURL = shift; my $title = "unknown"; my $htmlText = get( $url ); my $theEncode = &guess_encoding( $htmlText ); &from_to( $htmlText, $theEncode, "euc-jp", 0 ); $htmlText =~ tr/\x0D\x0A//d; if( $htmlText =~ m|(.+?)|i ) { $title = $1; } return $title; }