Tag: Code Snippets

  • CSharp – Get Assembly and File Version

    If you want to know the version of currently executing managed assembly, you can use Reflection.Assembly.

    Here is code snippet which can be used to do get managed assembly version.

    private string GetVersion()
    {
          return Assembly.GetExecutingAssembly().GetName().Version.ToString();
    }

  • 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 Last Element of Split

    There is an easier way to get last element on a split operation, save split result to an array and use $array[-1] and this will access last element of the arrays.

    Example

    $strings=”foo,bar,test”;
    my @fields = split(/,/, $strings);
    print $fields[-1] ;  # the last str in $strings

  • Perl Backslash in Regular Expression

    This note is for a trick to use Q and E  to escape characters for regular expression. You will find it very useful when you do string substitution and your pattern contains characters like slashes or backslashes .

    (more…)

  • Perl Escape Backslashes in String Substitution

    This note is for a trick to use Q and E  to escape characters for regular expression. You will find it very useful when you do string substitution and your pattern contains characters like slashes or backslashes .

    (more…)

  • Perl Add Directory to Path

    Say you have a directory d:bin and you want to add it to path environment at the beginning of your Perl script. Following code will do the trick.

    my $dir="d:\bin";
    $ENV{PATH}.=";$dir";

    Then $dir will be included in new $ENV{PATH}

  • 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. (more…)

  • 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" />

    (more…)

  • Use coalescing operator to write more readable code

    Tired of code like this?

    public string Foo

    {

    get { return foo; }

    set

    {

    if (value == null)

    value = String.Empty;

    foo = value;

    }

    }

    public string Bar

    {

    get { return bar; }

    set

    {

    if (value == null)

    value = String.Empty;

    bar = value;

    }

    }

    Use coalescing operator to make your code a bit more readable.

    (more…)