Tag Archives: Code Snippets

Perl Replace String in File

This code snippet demonstrates how to replace string in file using perl. This perl script takes in an input file, replaces the all string foo with bar.

my $file = $ARGV[0];
my $filetmp = "$ARGV[0].tmp";
open (INPUT, "< $file") or die("Unable to open $file");
open (TMP, "> $filetmp") or die("Unable to open $filetmp");
while(<INPUT>) {
    if(/foo/) {
        s/foo/bar/;   # replace foo with bar   
    }
    print TMP $_;
}
close(INPUT);
close(TMP);
rename $filetmp, $file;

Perl Redirect Command Output

In Perl, you can execute external commands using system() or ``. However, system and `` does not redirect command output to console and this results people who runs your perl script can't see it. This also make debug much harder. Perl does not have a build in switch that equals to batch scripts’ "@echo on", however this can be worked around by creating a ExecuteCommand subroutine.

sub ExecuteCommand {
my $cmd= $_;
my @cmdoutput = `$cmd`;
for $line (@cmdoutput) {
print $line;
}

Now just change your code from system($command) or `$command` to ExecuteCommand($command) and you will see all command output are redirected to console. Continue reading

How to Validate URL in C#

I searched google for how to validate URL in C# and most results say using a regular expression. Eventually I found Uri.TryCreate which is a built in method in C# to check if a string is a valid URL

Uri uri = null;

if (!Uri.TryCreate(url, UriKind.Absolute, out uri) || null == uri)

{

    //Invalid URL

    return false;

}

 

Reference:

http://msdn.microsoft.com/en-us/library/ms131572(v=VS.90).aspx

SpellChecker in WPF4 TextBox

TextBox and RichTextBox in WPF4 has the built in SpellChecker functionality. It’s currently available in following four languages

  • #LID 1033 – English
  • #LID 3082 – Spanish
  • #LID 1031 – German
  • #LID 1036 – French

Enable SpellChecker functionality on TextBox or RichTextBox is as easy as just setting SpellCheck.IsEnabled to True on the controls.

   <TextBox SpellCheck.IsEnabled="True" />

Continue reading